この ポータビリティ向け異種コンピューティングインターフェース(HIP) は、ハードウェア固有のツールチェインを統一されたC++ランタイムAPIに抽象化する能力にあります。これにより、 シングルソースパラダイムという手法を採用することで、開発者は1つのコードベースを維持し、動的にNVIDIAまたはAMDのバックエンドにマッピングできます。
1. パスベースのハードウェア解決
このアーキテクチャは、ビルドシステムのナビゲーションの基準となる環境変数を活用しています。これらのマーカーは hipcc コンパイララッパーが、必要なデバイスライブラリやヘッダファイルをどこで見つけるかを指示します。
- CUDA_PATH: NVIDIAスタック(NVCC/PTXワークフロー)の主要な基準です。
- HIP_PATH: AMD ROCmスタック(Clang/LLVMワークフロー)の主要な基準です。
2. コンピューティングスタックの抽象化
ポータビリティは、アプリケーションレイヤーとマイクロアーキテクチャを分離することによって達成されます。論理処理は hipccビルド時に解決され、$O(1)$のコードメンテナンスで$O(N)$のハードウェア互換性が得られます。
TERMINALbash — 80x24
> Ready. Click "Run" to execute.
>